#include<bits/stdc++.h>
using namespace std;
int t;
int main(){
    freopen("detect.in","r",stdin);
    freopen("detect.out","w",stdout);
	cin>>t;
    while(t--){
        int n,m,l,v,b[100005],ans=0,h[5005];
        cin>>n>>m>>l>>v;
        double d,v0,a;
        int far[2][100005];
        for(int i=1;i<=n;i++){
            scanf("%lf%lf%lf",&d,&v0,&a);
            if(v0>v){
                if(a>=0){
                    far[0][i]=d;
                    far[1][i]=l;
                    
                }
                if(a<0){
                    far[0][i]=floor(d);
                    if(ceil((v*v-v0*v0)/(2*a))-(v*v-v0*v0)/(2*a)==0)
                        far[1][i]=floor((v*v-v0*v0)/(2*a))-1+d;
                    else far[1][i]=floor((v*v-v0*v0)/(2*a))+d;
                    
                }
            }
            else{
                if(a>0){
                    if(floor((v*v-v0*v0)/(2*a))-(v*v-v0*v0)/(2*a)==0)
                        far[0][i]=ceil((v*v-v0*v0)/(2*a))+1+d;
                    else far[0][i]=ceil((v*v-v0*v0)/(2*a))+d;
                    far[1][i]=l;
            
                }
                if(a<=0){
                    far[0][i]=0;
                    far[1][i]=0;
                   
                }
            }
            
        }
        for(int i=1;i<=m;i++){
            scanf("%d",&b[i]);
        }
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                if(far[0][i]<=b[j]&&far[1][i]>=b[j]){
                    ans++;
                    break;
                }
            }
        }
        cout<<ans<<' ';
        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                if(far[0][j]<=b[i]&&far[1][j]>=b[i]){
                    h[i]++;
                }
            }
        }
        int cnt=1,anss=m;
        sort(h+1,h+1+n);
        cout<<endl;
        for(int i=1;i<=m;i++){
            cout<<h[i]<<' ';
        }
        cout<<endl;
        for(int i=1;i<=m;i++){
            if(h[i]>h[cnt]){
                anss--;
                cnt++;
            }
        }
        cout<<anss<<endl;
    }
}